/**
 * 更新小程序版本
 * @description: 更新版本
 */
export function updateVersion() {
  // #ifdef MP-WEIXIN || MP-ALIPAY || MP-DINGTALK || MP-BAIDU || MP-TOUTIAO || MP-LARK || MP-QQ || MP-KUAISHOU || MP-JD
  if (uni.canIUse("getUpdateManager")) {
    let updateManager = uni.getUpdateManager();
    // #ifdef MP-DINGTALK
    updateManager = dd.getUpdateManager();
    // #endif
    const downloadTask = () => {
      updateManager.onUpdateReady(function () {
        // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate();
      });
      updateManager.onUpdateFailed(function () {
        // 新的版本下载失败
        uni.showToast({
          title: "新版本下载失败，请删除小程序重新搜索进入",
        });
      });
    };
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      if (res.hasUpdate) {
        uni.showModal({
          title: "更新提示",
          content: "发现新版本，是否下载新版本并重启应用？",
          cancelText: "取消",
          confirmText: "确定",
          success: function (res) {
            if (res.confirm) {
              // 用户确认更新
              downloadTask();
            } else if (res.cancel) {
              // 用户取消更新
              //用户点击取消按钮的处理，如果需要强制更新，则给出二次弹窗
              uni.showModal({
                title: "温馨提示",
                content: "本次更新涉及到新的功能添加，旧版本无法正常访问",
                showCancel: false, //隐藏取消按钮
                confirmText: "确定更新",
                success: function (res) {
                  downloadTask();
                },
              });
            }
          },
        });
      }
    });
  }
  // #endif
}
